{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "205909dd",
   "metadata": {},
   "source": [
    "#  第四讲 小世界网络【实践】二"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "60be0310",
   "metadata": {},
   "outputs": [],
   "source": [
    "#!/usr/bin/python3\n",
    "# -*- coding: utf-8 -*-\n",
    "# Author ： 单哥的科研日常\n",
    "# 关注B站和公众号：单哥的科研日常，获取更多讲解教程"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "74ce9c1f",
   "metadata": {},
   "source": [
    "### 实验环境：\n",
    "### Python版本==3.9.6, networkx==3.0, matplotlib==3.5.3, numpy==1.24.2, pandas==1.5.3"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "baadd879",
   "metadata": {},
   "source": [
    "## 1、WS小世界网络的“小世界”与“高集聚”特性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "1752884b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入库\n",
    "import networkx as nx\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "68ab6402",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.00000000e-04, 1.93069773e-04, 3.72759372e-04, 7.19685673e-04,\n",
       "       1.38949549e-03, 2.68269580e-03, 5.17947468e-03, 1.00000000e-02,\n",
       "       1.93069773e-02, 3.72759372e-02, 7.19685673e-02, 1.38949549e-01,\n",
       "       2.68269580e-01, 5.17947468e-01, 1.00000000e+00])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 设置初始参数\n",
    "N, K = 1000, 10\n",
    "samples = 10\n",
    "p_rew = np.logspace(0,4,15)/10000\n",
    "p_rew"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "0dbb0b95",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 平均距离与平均集聚系数\n",
    "C = []\n",
    "CT = [] # 理论近似值：{[3(K-2)]/[4(K-1)]}*(1-p)^3\n",
    "L = []\n",
    "sigma = []\n",
    "for p in p_rew:\n",
    "    s1 = 0\n",
    "    s2 = 0\n",
    "    s3 = 0\n",
    "    for i in range(samples):\n",
    "        # 为了防止在计算平均距离时报错：最好改用生成连通WS小世界网络函数connected_watts_strogatz_graph()\n",
    "        G = nx.connected_watts_strogatz_graph(N, K, p, tries=100)\n",
    "        G_random = nx.gnm_random_graph(N, N*K/2)\n",
    "        while not nx.is_connected(G_random):\n",
    "            G_random = nx.gnm_random_graph(N, N*K/2) \n",
    "        c = nx.average_clustering(G)\n",
    "        cr = nx.average_clustering(G_random)\n",
    "        l = nx.average_shortest_path_length(G)\n",
    "        lr = nx.average_shortest_path_length(G_random)\n",
    "        s1 += c\n",
    "        s2 += l\n",
    "        s3 += (c/cr)/(l/lr)\n",
    "        \n",
    "        \n",
    "    ct = (3*(K-2)/(4*(K-1)))*((1-p)**3)\n",
    "    CT.append(ct)\n",
    "    C.append(s1/samples)\n",
    "    L.append(s2/samples)\n",
    "    sigma.append(s3/samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "61fe2885",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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DjQ7FABAM0h0AKAlLJbjrTqM0wkbU6dO1bZt27R582azQwEANINEBwBa6sRxOk6nubEAAIAGSHQAoKUuvlhq10764Qfp00/NjgYAAJyARAcAWiomRsrIMPbpvgYAQEBpUaKTl5en5ORkxcTEaPDgwdq0aVOjZRctWqShQ4eqU6dO6tSpkzIyMposDwBBhWmmAQAISB4nOitWrFBOTo5mz56twsJC9evXT5mZmdq3b5/L8uvXr9f48eO1bt06bdy4UYmJifrVr36lPXv2eB08AJiuLtH56CPpxx/NjQUAANSzOJ2ejaAdPHiwBg4cqKefflqS5HA4lJiYqGnTpumee+5p9nq73a5OnTrp6aef1sSJE916zcrKSsXFxamiokKxsbGehAsA/tevn/TZZ9LSpdJNN5kdjU/x+esa9QIA5nH3M9ijFp2amhoVFBQoo65PuqSIiAhlZGRo48aNbt3j8OHDqq2tVefOnRstU11drcrKygYbAAQsppkGACDgeJTolJeXy263Kz4+vsHx+Ph4lZaWunWPP/zhD+revXuDZOlkubm5iouLq98SExM9CRMAWldd97U1ayS73dxYAACApFaede2RRx7R8uXL9frrrysmJqbRcjNnzlRFRUX9VlJS0opRAoCHLrhA6tRJ+u9/jbE6AADAdJGeFLbZbLJarSorK2twvKysTF27dm3y2nnz5umRRx7Rf/7zH/Xt27fJstHR0YqOjvYkNAAwT2SkNGqU9PLLRve1iy4yOyIAaDXFxVJ5eePnbTYpKan14gHqeNSi06ZNG6Wnpys/P7/+mMPhUH5+voYMGdLodX/+85/14IMPas2aNRowYEDLowWAQMU4HQBhqLhYSkmR0tMb31JSjHJAa/O461pOTo4WLVqkJUuWaPv27ZoyZYqqqqqUnZ0tSZo4caJmzpxZX/7RRx/Vn/70Jy1evFjJyckqLS1VaWmpDh065Lt3AQBmy8yULBZj9rXdu82OBgBaRXm5dPRo02WOHm26xQfwF48TnaysLM2bN0+zZs1SWlqaioqKtGbNmvoJCoqLi7V379768s8++6xqamo0btw4devWrX6bN2+e794FAJjNZjPG6kgsHhrC8vLylJqaqoEDB5odCgCgGR6vo2MG1isAEBQeeki67z7p6qulN980Oxqf4PPXNeoFMBQWGt3TmlNQIPXv7/94EB78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eUf617+kG26QPvnE6z+OAACCR3GxlJLS/EQHjAEyhEei066d0VoS6Nq18+ryugShS5cuDca+eMKdRKdt27aSpKON/C8rKiqS0+lUZmamy/Pff/+9JCnJxf/AI0eOqJ2X9QCELItF+sc/jJacL780Wnf+9jezowIAtJLy8qaTHMk4X15OoiOFS6JjsYTFXz1P+/k9lpWVyel0tijZcSfR6dKliyTVLxx6srpuaz179nR5fvXq1bJarRo+fHiD4w6HQxUVFS1ujQLCgs0mLV0qXXqp9Pe/SyNHSllZZkcFAEDAYXrpEJKYmKj4+HhVVVU1O/Wpw+FwebywsFARERFKS0tr9NpevXopIiJCO3bscHm+LtGpqKg45dxHH32k999/XzfccIM6d+7c4NzXX38th8OhPn36NBk7EPYuuUT64x+N/d/8RvruO3PjAQAgAJHohBCLxaLf/TwT029/+1uXg/qPHDmiZ599Vrm5uaecKysr0969e3X22WerfROTN3Ts2FF9+/bVJ5984jJhqkt0li9frtra2vrjJSUlmjBhgjp16qSHHnrolOs+/vhjSdLFLIgING/OHOnCC6XKSmOtnRP+rwEAgHDpuhZG7rnnHhUWFur1119XSkqKRo0apbPOOkt2u11fffWVNmzYoIqKCi1btuyUawsKCiQ13W2tzujRozV79mx99NFHuvDCC+uPV1dXa9u2bbrgggu0c+dO9e/fX5mZmfrxxx/12muvyW63a9WqVS67tb3zzjuKjIzUlVde6UUNAGEiMlJatswYr/Pxx9Ls2dLDD5sdFQAAAYMWnRATGRmplStXavny5Ro2bJg2bNigxx9/XC+++KJ2796trKwsvfXWWxo7duwp19a1xLiT6Nx2222KjIzU0qVLGxzfunWrjh07pmHDhmnt2rXq3Lmznn32Wa1atUqjRo3S5s2bXS4GevjwYb3xxhu68sor1b179xa+eyDM9Ox5fDKCRx6R8vPNjQcAgABCi06IysrKUpaHA5Tvvfde3XvvvW6V7d69u2644QYtX75cjz76qDp06CDpeLLUr18/nX/++Xr33Xfdut+yZct06NAh3XnnnR7FDIS9ceOMcTrPPSdNmCB9+ql0xhnGObtd2rBB2rtX6tbNWHvHajU3XgAAWgktOmixuXPn6siRI3rqqafqj9UlOk1NZnCyY8eO6eGHH9bV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\n",
      "text/plain": [
       "<Figure size 1000x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,4))\n",
    "plt.subplot(121)\n",
    "plt.plot(p_rew, C, 'ro', label='$C(p)$')\n",
    "plt.plot(p_rew, CT, 'r-', label='$CT(p)$')\n",
    "plt.legend(loc=0, fontsize=14)\n",
    "plt.xlabel(\"$p$\")\n",
    "plt.xscale(\"log\")\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.plot(p_rew, L, 'bs', label='$L(p)$')\n",
    "plt.legend(loc=0, fontsize=14)\n",
    "plt.xlabel(\"$p$\")\n",
    "plt.xscale(\"log\")\n",
    "plt.yscale(\"log\")\n",
    "\n",
    "# plt.savefig(\"C_L.png\", dpi=600)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "1c6a6f33",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 初始规则网络的平均集聚系数和平均距离\n",
    "G0 = nx.watts_strogatz_graph(N, K, 0)\n",
    "C0 = nx.average_clustering(G0)\n",
    "L0 = nx.average_shortest_path_length(G0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "98d69540",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(6,4))\n",
    "plt.plot(p_rew, np.array(C)/C0, 'ro-', label='$C(p)/C(0)$')\n",
    "plt.plot(p_rew, np.array(L)/L0, 'bs-', label='$L(p)/L(0)$')\n",
    "plt.plot(p_rew, np.array(sigma)/max(sigma), 'gv-', label=r'$\\sigma$')\n",
    "plt.legend(loc=0, fontsize=14)\n",
    "plt.xlabel(\"$p$\")\n",
    "plt.xscale(\"log\")\n",
    "# plt.savefig(\"C_L2.png\", dpi=600)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3653b493",
   "metadata": {},
   "source": [
    "## 2、真实网络的集聚系数与度之间的依赖关系（以科学合作网络为例）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "bffe8d10",
   "metadata": {},
   "outputs": [],
   "source": [
    "def C_vs_k(G):\n",
    "    klist = [G.degree(i) for i in G.nodes()]\n",
    "    # 计算每个节点的集聚系数\n",
    "    all_C = {i: nx.clustering(G, i) for i in G.nodes()}\n",
    "    all_k = list(set(klist))  # 所有可能的度值\n",
    "    \n",
    "    # 计算度值为k的节点的集聚系数的平均值\n",
    "    C_k = {}\n",
    "    for k in sorted(all_k):\n",
    "        s = 0\n",
    "        j = 0\n",
    "        for i in G.nodes():\n",
    "            if G.degree(i) == k:\n",
    "                j = j + 1\n",
    "                s = s + all_C[i]\n",
    "        avc_k = s/j   \n",
    "        C_k[k] = avc_k\n",
    "    \n",
    "    return C_k"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "db184f7f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "23133"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df = pd.read_csv(\"citation.csv\")\n",
    "G = nx.from_pandas_edgelist(df, 'source', 'target', create_using = nx.Graph())\n",
    "len(G.nodes())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "308f3d67",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.6334130270820665\n"
     ]
    }
   ],
   "source": [
    "C_k = C_vs_k(G)\n",
    "avC = nx.average_clustering(G)\n",
    "print(avC)\n",
    "x = np.linspace(1,10000,10000)\n",
    "y = [avC]*10000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "5d62ae53",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAEMCAYAAAAIx/uNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZdUlEQVR4nO3df4xlZX3H8c93hln1ok5kFtsGmBnsGiNpJMpU22gbo7ZF2lVjGyve3SBSRqQakiaNkukf/cPVmNK0ayqSaYEdd25Rik3L6jYmjRoTaxMW+QexuJQwK9YEd0g3wGp3mf32j2du5u7dc+45595z7vlx36+EDPfcH/N4Mt4Pz4/v85i7CwCAPE2V3QAAQPMQLgCA3BEuAIDcES4AgNwRLgCA3BEuAIDcXVR2A4q2e/duX1xcLLsZAFAbDz/88El3v3SUz2h8uCwuLurYsWNlNwMAasPMNkb9jFqFi5ldLOlOSWckfdvdOyU3CQAQofQ5FzO7x8yeMbNH+65fa2aPm9kTZvap7cvvl/SAu98s6T1jbywAIJXSw0XSIUnX9l4ws2lJX5D0bklXSbrezK6SdLmkH2+/bGuMbQQAZFB6uLj7dyQ923f5zZKecPcn3f2MpC9Leq+kpxUCRqpA2wEA0ar6BX2ZdnooUgiVyyT9s6Q/NLMvSjoS92YzWzazY2Z27Gc/+1lxrex0pMVFaWoq/OwwBQQAUs0m9N39BUk3pnjdqqRVSVpaWipm2+dOR1pelk6fDo83NsJjSWq3C/mVAFAXVe25/ETSFT2PL9++Vh0rKzvB0nX6dLgOABOuquHykKTXmtmVZrZL0gclPVhym8534kS26/0YUgPQYKWHi5ndJ+l7kl5nZk+b2U3u/qKkj0v6hqQfSrrf3X9QZjsvMD+f7Xqv7pDaxobkvjOkRsAAaAhr6kmUZrZX0t49e/bcfPz48fx/Qf+ciyS1WtLqavKcy+JiCJR+CwvSU0/l2UoAyMzMHnb3pVE+o/SeS1Hc/Yi7L8/OzhbzC9rtECQLC5JZ+JkmWKTRh9QAoOIaGy5j0W6Hnsa5c+Fn2lViWYbUmJsBUEOESxkOHAhDaL1arXC9F3MzAGqKcClD2iE1ljsDqCnCpSxphtTSzM0wbAagghobLma218xWT506VXZThpc0N5M0bEbwAChJY8Ol8NVi45A0NzNo2Iz5GgAlamy4NELS3MygYTPmawCUiHCpukFzM4OGzeKCZ2ODoTIAhSNc6mzQsFlc8JgxVAagcIRLnQ0aNosKHrMQKr0YKgNQAMKl7uKGzaKCJ24fOYbKAOSMcGmy/uBZWIh+HUNlAHLW2HBpRJ1L3hgqAzAmjQ2XRtS55C3LUBk7NAMYQWPDBTHSDpVdcgnzMACGRrhMuqihspkZ6bnnmIcBMLTGnkTZNT295C996bGym1FtWy9KZ86EIImag+kyk17Win4OQGOcPj36SZQX5dWYqrr0Umn//rJbUXUX6bw/hTvukBQRMC7poldKb/st6aqrxtQ2AON2xx2jf0bjey5LS0t+7Bg9l0wWF8NQWJxWK/2RzgBqx2z0ngtzLrhQ1DxML5YqA0jQ2HChzmUEvUuW47BUGcAAjQ0X6lxG1F2yHBcwcRtjAoAaHC7ISdxS5eefpwYGQCzCBYP1V/XPzYWfm5s7NTD794drBA2AbYQLkvVW9b/85aEmpld3xSHFlgC2ES7IJmkin5VkAES4IKs0E/msJAMmHuGCbJJqYKQwTMb8CzDRCBdk018DYxb9OuZfgInW2HChiLJA3Ql+d+nw4fhaGOZfgInF3mLIx9RU9G7KZmGVGYDaYG8xVEfcRD+V/MBEIlyQj6iJfrMw98LkPjBxCBfkI2qin+JKYGIRLshP72aX/fMvUZP7nU7o1bBHGdA4jT+JEiWIK6Lc2AhBMj8vXXedtLYWQqf73PJy+HcOIQNqj54L8jdoEr+72eVdd+0ESxdLl4HGIFyQv7RV/FHYOgZoBMIF+etO7s/NZX8vS5eBRiBcUIx2O2zPP0j/1jGtVuj1AKg9wgXFGTTE1WpJt9yycwjZwkLo7TCZDzRCY1eLmdleSXv37NlTdlMm1/x8mLzvNz1NkAAN19iei7sfcffl2dnZspsyuaIm9lutsASZYAEarbHhggrordpPM/RFUSXQGI0dFkNFtNvJvZROR7rtNmlzc+caRZVArdFzwfj19lB275Y+8pHzg6WLokqgtui5YLw6ndAj6VbnR4VKL4oqgVqi54LxWlm5cNuXQSiqBGqJcMF4ZemJmIUNLgHUDuGC8crSE3GXvvjFMC/DyjGgVggXjFdU7cvMzOB9yDY3OWwMqBnCBeMVVfty773SyZMX7jXWi5VjQK2wWgzjF1f7ErddTBcrx4DaoOeC6kg6B4aVY0BtEC6ojkHnwPRux882MUDlES6olnY7zL+sr0fvSdYtwtzY2Dkymcl+oHLM446brbmeLfdvPn78eNnNQV4WF6PnZRYWpKeeGndrgEYys4fdfWmUz2hsz4Ut9xuifwgsbsJ/Y4MhMqBCGhsuaICoIbBBsg6RMXcDFIZwQXVl3YdMCq/fty85LJi7AQpFuKC6RqlriQqL3p7KDTdcGFwUagK5IVxQXaPWtfT2Ym699fyeytZW9Hso1ARyQbigurp1LYMM2jKma2NDuuuudENsFGoCuSBcUF3t9uANLVst6ZZbwjLkJGmW3PcWagIYCeGCajt4MHpLmLm5UFh5552hvmV9ffDWMXGmpy8s1IzD6jIgNcIF1Ra1i/L6eqjil3a+7FdWwiT9oF5M/xBaqyWtrUnnzoWASgoWVpcBqTW2Qr9raWnJjx07VnYzkLful33vPEqrFYLou98Ncyy9f9utVgifo0fDpP38fBgCGxQovdgZABOECn1Mnu7Q1L590UuJ9++X7r77/GAxC8HSHUI7fDhc378//fBW3CoyVpcBkTjPBfUR1Vvp5y6dOXPhtaNHoz+jO7wlDe7FxJ01w+oyIBI9F9THMBX7XRsboxVPRp01w+oyIBbhgvoYdQhqlOLJqIUFSavLgAnGsBjqI+kY5FE/O0nc8cwALkDPBfURNTQ1MyPt2jXa5zK8BeSOcEF9RA1N3XuvdM896ar047zsZfm1EYAk6lzQJGlWk8Xp1sgw7AVQ5wKcp7dnk1XUijG2ewGGRrigWdrtUCiZZrfkfr0rxqK2e9m/P3wuQQMkIlzQTMMUN/a+J6qmpjuEzL5iQKLGhouZ7TWz1VOnTpXdFJQh6+qv3hVjnU7ykmdOrQQGamy4uPsRd1+enZ0tuykoQ9JZML2mp0PlfrsdguXGG9O9b5iizk5H2r07DK+ZhX+/9VbmdtA4rBZDc2VZPTYzI73yldLmZvrPz7ojcje4zp4d/DpWrqFkrBYDBumuHkvTgzl7NluwDFN4ubKSHCwSQ25oBMIFzdZuh4PF1td3ii/z0A2ALENYWYbR2MofNUe4YDJ0lyifOzdaNX+vrKvGsqxgYyt/1BzhgskTtUfZsLIMYR04EOZ2krDXGRqAcMHk6c7FTE8nvzbNa6KGsKKq+9vtsBda7xzQ3Jz0sY+xlT8ahy33MZm6X95Jq8m2tsKX/qBVlf1DWEmnXRIcmACZey5mdrGZpfjPOaDi2u1Q3zJIUrBEDWFFVfezAgwTJjFczGzKzD5kZl83s2ck/Zekn5rZY2b2V2a2p/hmAgU5enTw81HBMj0dQmduLmzXv3//+cWPcSu9WAGGCZKm5/ItSb8q6XZJv+zuV7j7qyW9TdJ/Svqcme0rsI1AcYb5wj93Tjp8WPr5z0NtTHdjy337QsX9JZdEv48VYJggaeZc3uXuF1R+ufuzkr4q6atmlmIJDFBBwxydPD8fPfQlhbDpno555szOdVaAYcIk9ly6wWJmn+5/rjv3EhU+QC1kXZbcDYlBPZ6zZ6VXvGKnnmZ6eriiS6DGskzoX2Zm13cfmNmrJf17/k0CxijNAWPdOZaFhbAAYGVl8CS/JD377E5wbW2Fa2zVjwmSJVw+KmnZzN5sZr8u6ZuS7iimWcAYdav319cv7MW0WtLaWphnOXAg/HuaYbS4oTNWjWFCJM65mNmXJH1f0iOS/lTSP0p6UdL73P2JYpsHjFG3/mRlJQx7zc+HQOm9nmaHZUm6+GLpscein2PVGCZA4pb7ZvYOSVdv//MGSa+R9JCk70p61N0fKLqRo2DLfeRmaip5OCyNubmwmSZQUWPZct/dv+nuf+PuH3b3N0naLenPJD0h6S2j/HKg0vq3cIlbYpzVc88x74LGS9NzMU94UZrXlIWeC4YSddDYzEyY2O9dYjysrAeNAWM0rsPCvmVmnzCz8yrAzGyXmb3DzNYkJeyhAdRM1PxKd4lx2uOTB8laWwPUTJpwuVbSlqT7zOx/trd9eVLScUnXS/pbdz9UYBuB8YubdN/cDJX5eWBoDA2WJlz+XGH47K2SFiS9U9Kb3H3B3W9290cKbSFQhritWroFkXm47bbwM2p7fqDm0oTLByTdLYVKfHf/qbv/r5n9iZndXmzzgJJEVe7PzOwURCaZng7ntKyvx79mc3NnbmdjY2ePMgot0QBpwuWsu/8i4vphSWxYiWbqr9w3C3Mug7RaIUzcpRdflO68M7lgkkJLNFSacDljZr/Sf9Hd/08Se4qhudrtnR5M0mLIubnoEyQHFUzOzbE9PxorTbj8taR/NbPzNl/a3lusksuPgdykqcrftUs6eDD6hMlB2+wfPBj/PNvzo+bSFFH+k6QvSHrYzL5mZp82s88oVOiztxiaLU0P4syZ+GGsqLkbszAf09sz6sX2/GiAVBtXuvuapCslfUXSjKRfSPqQuzPriObpXb01lXJv17gQ6p276e6sfPhwmI+Jez5qeA2omcQK/bqjQh+ZRFXmp0HFPRpkXBX6wOSIm2PpnukyNxfmWHoxjAVcgHABesUNb507F/45eVK65550w1hZiyMppkSDMCwG9FpcjN73K+uwV9zGl7t2SS+8EB7Pze2sMot6favF/AtKkcewWK3CxcxeI2lF0qy7/1Ga9xAuyCSvL/m4kIozPR1d/c/ZLyhBreZczOweM3vGzB7tu36tmT1uZk+Y2acGfYa7P+nuNxXbUky0PFZvdTrZdz2O21amu0VM2t/LsBoqYmw9FzP7bUnPS/qSu//a9rVpST+S9DuSnlY44fJ6SdOSPtv3ER9x92e23/cAPRdU0rCrzQZJMyTHsBpyVLthMTNblPS1nnD5TUl/6e6/t/34dkly9/5g6f+cgeFiZsuSliVpfn7+mg3OzsC4ZB0OS8MsLCYY5veyRBpDqNWwWIzLJP245/HT29cimdmcmd0l6Y2DdmR291V3X3L3pUsvvTS/1gJJitgTLM1WMOxRhoq5qOwGZOHum5JuKbsdQKz5+Xx7LmlraOJ+L3uUoSRl91x+IumKnseXb18D6ilqr7B+c3NhdVjcc8MsJmCPMlRM2eHykKTXmtmVZrZL0gclPVhym4Dh9Z8DE+XZZ6W1tegwOHgwzJEcPiw9/7y0b18Imt27B6/+Yo8yVI27j+UfSfdJ+qnCGTBPS7pp+/p1CivG/lvSSt6/95prrnFgbNbX3RcW3M3cp6fdw0kw5/+zsHDhaxcWwuPu9ZmZC9+3a9fOa4ACSTrmI3731qqIMgsz2ytp7549e24+fvx42c3BJEizDDnN8uBBK86SVn91OmF/tBMnwnzLgQP0XpBZE1aLFcbdj7j78uzsbNlNwaRIOlhsYUG64YbwukGFjoNWeA16rhtuGxuhr7OxER5TTIkSNDZcgLFKqsqfmwu9iLW15C//QSu8pqbiwyIq3E6fjj/IDCgQ4QKMqttjGGRzM/2X/4EDYZPLKFtb8b0Ral1QIYQLMKqk4bCutF/+7bZ0772htxMlrjcS1+Oh1gUlIFyAUaXpGVx8cfyRyVFf/u122A3ZLP3vpNYFFdLYcDGzvWa2eurUqbKbgqZL6hlMTUlnz0bvfJz05Z+lN0KtCyqkseHCajGMTVSPodvjWFiQXvUq6cyZ6Pd2h7jiJumz9kba7bBU+dy58JNgQUkaGy5AoXrPTllZCUuMe3sMhw+HFWFPPRUq8gcZtGSY3ghqqrFFlF2c54LcxRVL9h5b3CvtNvxsj4+KoIgSKEPc6rDNzegeSJrNLCWWDKNRCBcgq0EhELVMuH9oK25H5Pl5jipGYxAuQFZJq8Oiwqd3oj1uR+Trrku/fQshhIprbLiwFBmFSRrmSgqfuEn6o0ejK/j37QsBcuut4aeZtH8/e4ih0pjQB4bR6Ui33RbmWXql2fU4ztRUCIthsSAAOWFCHyhLt4J+fT2/ZcKjbtPCggBUCOECjCLPosW0q8risIcYKoRwAaoizRHJcdhDDBVDuABliFvt1e0Jra+n78VQtY8KuqjsBgATp7/Cv7vaS9oJiO7PlZX46v65uTDvA1QQq8WAcYvbDiZutVfcKjKzMNcD5IzVYgNQ54LKynpiJIeAoYYaGy5suY/KyhoWwxwCRgU/StbYcAEqa5gzWrJsu9+d06GCHyVizgUoQ6cTJutPnAg9lgMH8lvtlXVOB+jDnAtQtmGHn4o8MTLrnA5QAMIFGFZVh59YAIAKIFyAYUUdGhZ1nsu4DbMAAMgZ4QIMq6rDT1kXAAAFoEIfGNb8fPTEeRWGn9ptwgSloucCDIvhJyBWY8OFCn0UrqjhJwog0QDUuQBV0r+ppTTa6ZbAEKhzAZom6wo0ejmoKMIFKFLWL/8sK9CqWmcDiHABijPMl3+WAsiq1tkAIlyA4gzz5Z9lBVpV62wAES5AcYb58m+3pRtukKanw+Pp6fA4ajJ/1G1emK9BgQgXoCjDfPl3OtLamrS1FR5vbYXHUV/8o9TZMF+DghEuQFGG+fLPMpQ2Sp0N8zUoGHUuQJGyntsyNRV6Ev3Mwvb8eRnX70Et5VHnwt5iQJGy7vE1rv3KqrwvGhqhscNibP+CWhrXfmXsi4aCNTZc3P2Iuy/Pzs6W3RQgvXFtl8+2/CgYcy4AgPOwtxgAoJIIFwBA7ggXAEDuCBcAQO4IFwBA7ggXAEDuCBcAQO4IFwBA7ggXAEDuCBcAQO4IFwBA7ggXAEDuCBcAQO4aGy6c5wIA5WlsuHCeCwCUp7HhAgAoD+ECAMgd4QIAyB3hAgDIHeECAMgd4QIAyB3hAgDIHeECAMgd4QIAyB3hAgDIHeECAMgd4QIg6HSkxUVpair87HTKbhFq7KKyGwCgAjodaXlZOn06PN7YCI8lqd0ur12oLXouAKSVlZ1g6Tp9OlwHhkC4AJBOnMh2HUhAuACQ5uezXQcSEC4ApAMHpFbr/GutVrgODIFwARAm7VdXpYUFySz8XF1lMh9DY7UYgKDdJkyQm8b2XMxsr5mtnjp1quymAMDEaWy4uPsRd1+enZ0tuykAMHEaGy4AgPIQLgCA3BEuAIDcmbuX3YZCmdlzkh4v+NfMShp25UDa9ya9btDzUc8Nc223pJOJLR3dsPczy/vKuJ/9j8dxP6vwtznoNVmucz+Tn097P5Pu7+vc/RXJTR3A3Rv9j6RjY/gdq0W/N+l1g56Pem6Ya+O4l6PczyzvK+N+RjyeiL/NQa/Jcp37mfx82vs5jv+vMyyWjyNjeG/S6wY9H/XcKNeKNuzvzPK+Mu5nne5llvemeV3ca7Jc534mP5/2fhb+//VJGBY75u5LZbejCbiX+eJ+5ov7mZ887uUk9FxWy25Ag3Av88X9zBf3Mz8j38vG91wAAOM3CT0XAMCYES4AgNwRLgCA3E1UuJjZxWa2ZmZ/b2bsLT4iM3uNmd1tZg+U3ZYmMLP3bf9tfsXMfrfs9tSZmb3ezO4yswfM7GNlt6cJtr8/j5nZH6R5fe3DxczuMbNnzOzRvuvXmtnjZvaEmX1q+/L7JT3g7jdLes/YG1sDWe6nuz/p7jeV09J6yHg//2X7b/MWSX9cRnurLOO9/KG73yLpA5LeWkZ7qy7jd6ckfVLS/Wk/v/bhIumQpGt7L5jZtKQvSHq3pKskXW9mV0m6XNKPt1+2NcY21skhpb+fSHZI2e/nX2w/j/MdUoZ7aWbvkfR1SUfH28zaOKSU99PMfkfSY5KeSfvhtQ8Xd/+OpGf7Lr9Z0hPb/2V9RtKXJb1X0tMKASM14H97ETLeTyTIcj8t+Jykf3P374+7rVWX9W/T3R9093dLYgg8Qsb7+XZJvyHpQ5JuNrPE78+mHnN8mXZ6KFIIlbdI+rykvzOz31c5W0fUVeT9NLM5SQckvdHMbnf3z5bSuvqJ+/v8hKR3SZo1sz3uflcZjauZuL/NtysMg79E9FyyiLyf7v5xSTKzD0s66e7nkj6oqeESyd1fkHRj2e1oCnffVJgfQA7c/fMK/wGEEbn7tyV9u+RmNI67H0r72qYODf1E0hU9jy/fvobhcD/zxf3MD/cyX7ndz6aGy0OSXmtmV5rZLkkflPRgyW2qM+5nvrif+eFe5iu3+1n7cDGz+yR9T9LrzOxpM7vJ3V+U9HFJ35D0Q0n3u/sPymxnXXA/88X9zA/3Ml9F3082rgQA5K72PRcAQPUQLgCA3BEuAIDcES4AgNwRLgCA3BEuAIDcES4AgNwRLgCA3BEuwJiZ2TvN7HDZ7QCKRLgA43e1pEfKbgRQJMIFGL+rJT1iZi8xs0Nm9hkzs7IbBeRpos5zASriDQrHxX5D0j+4+3rJ7QFyx8aVwBiZ2Yykk5I2JH3U3b9XcpOAQjAsBozX6xXOzHhR0lbJbQEKQ7gA43W1pP9QOITpXjP7pZLbAxSCcAHG62pJj7r7jyR9UtL920NlQKMw5wIAyB09FwBA7ggXAEDuCBcAQO4IFwBA7ggXAEDuCBcAQO4IFwBA7ggXAEDu/h/7UT/qnowOKAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(6,4))\n",
    "plt.plot(C_k.keys(), C_k.values(), 'ro')\n",
    "plt.plot(x, y, 'b-')\n",
    "plt.xlabel(\"$k$\")\n",
    "plt.ylabel(\"$C(k)$\")\n",
    "plt.xscale(\"log\")\n",
    "plt.yscale(\"log\")\n",
    "plt.xlim([1,1e4])\n",
    "# plt.savefig(\"C(k)_k_citation.png\", dpi=600)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "69048471",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.6"
  },
  "vscode": {
   "interpreter": {
    "hash": "12cf4d0b9b7b18c55261077a6853aabe6f033db06abf1184072cd2e823f414c8"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
